INT Прерывание

Флаги:

O D I T S Z A P C
 0 0                

Команда:

INT interrupt-num 

Логика :

PUSHF            ;загрузка регистра FLAGS в стек
TF = 0           ;сброс разряда трассировки
IF = 0           ;запрещаем прерывания
CALL FAR (INT*4) ;вызываем обработчик прерываний

Команда INT загружает регистр FLAGS в стек, сбрасывает признаки трассировки и разрешения прерывания, загружает CS и IP в стек, затем передает управление обработчику прерываний, который определяется по значению операнда interrupt-num. Если обработчик прерываний производит возврат по команде IRET, то исходное значение регистра FLAGS восстанавливается.

Операнды Такт байты (слова)ОбращенияБайтыПример
непоср.8 (тип=3)5251INT 3
непоср.8 (тип<>3)5152INT 21

Примечания :
Регистр FLAGS хранится в том же формате, который используется в команде PUSHF. Адрес вектора прерывания определяется умножением операнда interrupt-num на 4. Первое слово, находящееся по полученному адресу, загружается в IP, а второе слово - в CS. Все номера interrupt-num, кроме типа 3, вырабатывают двухбайтовый код операции; interrupt-num, равный 3, вырабатывает однобайтовую команду, называемую прерыванием по контрольной точке (Breakpoint interrupt).

Hosted by uCoz